#include<bits/stdc++.h>
using namespace std;
/**
 * 给你一个字符串 s，它由小写英文字母和特殊字符：*、# 和 % 组成。

请根据以下规则从左到右处理 s 中的字符，构造一个新的字符串 result：

如果字符是 小写 英文字母，则将其添加到 result 中。
字符 '*' 会 删除 result 中的最后一个字符（如果存在）。
字符 '#' 会 复制 当前的 result 并 追加 到其自身后面。
字符 '%' 会 反转 当前的 result。
在处理完 s 中的所有字符后，返回最终的字符串 result。

注意：竞赛中，请勿复制题面内容，以免影响您的竞赛成绩真实性。
 */
class Solution
{
public:
    string processStr(string s)
    {
        string curr;
        for (char c : s)
        {
            if (c == '*')
            {
                if (curr.size() > 0)
                {
                    curr.pop_back();
                }
            }
            else if(c == '#'){
                curr += curr;
            }else if(c == '%'){
                reverse(curr.begin(), curr.end());
            }
            else{
                curr += c;
            }
        }
        return curr;
    }
};

int main()
{

    // system("pause");
    return 0;
}
